Git Product home page Git Product logo

jimiit92 / universeguard Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 3.0 243 KB

THIS REPOSITORY IS FOR AN OLDER VERSION OF UNIVERSE GUARD. THE CURRENT VERSION OF UNIVERSE GUARD CAN BE FOUND ON THE LINKED URL! PLEASE REPORT ANY ISSUES TO THAT REPOSITORY INSTEAD!

Home Page: https://github.com/JimiIT92/UniverseGuard2

Batchfile 0.01% Java 99.99%
minecraft minecraft-mod minecraft-plugin minecraft-plugins minecraft-sponge minecraft-sponge-plugin protection sponge-plugin

universeguard's Introduction

Hi there My name is Jimi

๐Ÿง™๐Ÿผโ€โ™‚๏ธ Wizard, Software Developer and Minecraft Modder

I love coding and learn new things, like new languages/technologies

  • ๐ŸŒย  I'm currently based in Italy
  • ๐Ÿ–ฅ๏ธย  See my portfolio here
  • โœ‰๏ธย  You can contact me at [email protected]
  • ๐Ÿš€ย  I'm currently working on MineWorld
  • ๐Ÿง ย  I'm learning the Azure Cloud infrastructure for the AZ-204 Exam
  • ๐Ÿคย  I'm open to collaborating on interesting projects, especially if they involves new technologies
  • โšกย  I love rock music and retro games
  • ๐ŸฅŠย  Boxing athlete and sport addicted

๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป Skills

C# Git Java Go JavaScript TypeScript HTML5 CSS3 PHP Python JQuery Sass Bootstrap NodeJS Express MongoDB MySQL PostgreSQL GraphQL .NET Amazon Web Services Docker Photoshop Premiere Pro Figma

๐Ÿค™๐Ÿผ Socials

Discord GitHub Instagram LinkedIn Stack Overflow X YouTube Threads Twitch

๐ŸŽต Spotify Now Playing

Now Playing

๐Ÿ“ˆ My GitHub Stats

JimiIT92's GitHub stats

๐Ÿฏ Tip jar

Buy me a Coffee PayPal

๐Ÿ… Top Repositories

universeguard's People

Contributors

jimiit92 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

universeguard's Issues

Max regions

Hello,

I didnt find anything like "max regions" for specific permission group. Is there any posibility to set the max value of created regions by some player? Thanks.

rentable region

Hi, I was wondering if you could make it where users can rent out a region (like /rg rent) for a set amount of money for a set amont of time instead of just strait out buying it. The reason I ask for this is because I'm trying to make rentable regions for player shop on my server and I cant find any plugins that offer that if you would consider doing it would be much appreciated.

Sponge/UG issues

I get these errors spamming console at random times.

[20:00:30] [Server thread/ERROR] [Sponge]: Could not pass InteractBlockEvent$Primary$MainHand$Impl to Plugin{id=universeguard, name=Universe Guard 2, version=2.3, description=An easy to use world protection plugin for Sponge, authors=[Minehendrix], source=/./mods/plugins/UniverseGuard-2.3.jar}
java.lang.NoClassDefFoundError: org/spongepowered/api/data/meta/ItemEnchantment
        at com.universeguard.utils.InventoryUtils.getSelector(InventoryUtils.java:37) ~[InventoryUtils.class:?]
        at com.universeguard.utils.InventoryUtils.isSelector(InventoryUtils.java:49) ~[InventoryUtils.class:?]
        at com.universeguard.event.EventRegionSelect.setPoint(EventRegionSelect.java:62) ~[EventRegionSelect.class:?]
        at com.universeguard.event.EventRegionSelect.onRightClick(EventRegionSelect.java:39) ~[EventRegionSelect.class:?]
        at org.spongepowered.common.event.listener.MainHandListener_EventRegionSelect_onRightClick153.handle(Unknown Source) ~[?:?]
        at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.12.2-2611-7.1.0-BETA-3002]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:335) [SpongeModEventManager.class:1.12.2-2611-7.1.0-BETA-3002]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:312) [SpongeModEventManager.class:1.12.2-2611-7.1.0-BETA-3002]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:364) [SpongeModEventManager.class:1.12.2-2611-7.1.0-BETA-3002]
        at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:427) [SpongeEventManager.class:1.12.2-2611-7.1.0-BETA-3002]
        at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:207) [SpongeImpl.class:1.12.2-2611-7.1.0-BETA-3002]
        at org.spongepowered.common.event.SpongeCommonEventFactory.callInteractBlockEventPrimary(SpongeCommonEventFactory.java:702) [SpongeCommonEventFactory.class:1.12.2-2611-7.1.0-BETA-3002]
        at net.minecraft.server.MinecraftServer.handler$onServerTickEnd$zjm000(MinecraftServer.java:3834) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:711) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]

[1.10] NoClassDefFoundError: LocatableBlock

Error occurs when breaking any block in Botania using spongeforge-1.10.2-2123-6.0.0-BETA-1902

java.lang.NoClassDefFoundError: org/spongepowered/api/world/LocatableBlock
        at com.universeguard.events.flags.EventBlockBreak.onBlockBreakByEntity(EventBlockBreak.java:27) ~[EventBlockBreak.class:?]
        at org.spongepowered.common.event.listener.BreakListener_EventBlockBreak_onBlockBreakByEntity75.handle(Unknown Source) ~[?:?]
        at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:357) ~[SpongeModEventManager.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:398) ~[SpongeModEventManager.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:370) ~[SpongeModEventManager.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:144) ~[SpongeImpl.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.common.event.tracking.TrackingUtil.iterateChangeBlockEvents(TrackingUtil.java:583) ~[TrackingUtil.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.common.event.tracking.TrackingUtil.processBlockCaptures(TrackingUtil.java:503) ~[TrackingUtil.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.common.event.tracking.phase.packet.PacketFunction.lambda$null$23(PacketFunction.java:425) ~[PacketFunction.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.common.event.tracking.CapturedSupplier.ifPresentAndNotEmpty(CapturedSupplier.java:57) ~[CapturedSupplier.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.common.event.tracking.phase.packet.PacketFunction.lambda$static$28(PacketFunction.java:424) ~[PacketFunction.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.common.event.tracking.phase.packet.PacketPhase.unwind(PacketPhase.java:320) [PacketPhase.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.common.event.tracking.CauseTracker.completePhase(CauseTracker.java:192) [CauseTracker.class:1.10.2-2123-6.0.0-BETA-1902]
        at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:140) [PacketUtil.class:1.10.2-2123-6.0.0-BETA-1902]
        at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zjc000(SourceFile:39) [fl$1.class:?]
        at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fl$1.class:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_131]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_131]
        at net.minecraft.util.Util.func_181617_a(SourceFile:45) [h.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) [ld.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]

Permissions/flags

I am having trouble getting the regions set up. I am not sure if its a problem with another plugin interfering, however in my spawn region they are not allowed to do anything at all. They cant access their inventory, they cant use any portals, they even get an error when they press spacebar to jump. After looking through the wiki, I could not find which flag controlled those settings.

On a side note, running /rg edit DIM-1 to edit the nether dimension returns an error of no value. I have yet to try this with any other of the regions besides text only ones like world and spawn.

/rg flag mobspawn all false also returns the error of no value. you can work around it by using /rg flag mobspawn allhostile and allpassive

Armor Stand (Holograms) Needs Own Flag

As title suggests. Armor stands, often used for floating text by servers, are currently under the "mobs" flag, and needs to either be excluded or listed under its own flag.

crash server

Universguard crashes the server regularly. Since i deleted it, my server work normally but i need it for the flag region. Is there a way to stop the crashing or a new release which fix it ?

[1.0.4] formatting issue of displayed text when running /region list

Hi there,

When there are multiple regions and a player runs:
/region list

The formatting of the text is wrong I believe. I has multiple lines, for eample:

-----------Region list-------------
-----------Region list-------------
-----------Region list-------------
-----------Region list-------------
region1, region2, region3, region4,

Like that. It prints the heading for however many regions that are made, and there is an extra comma at the end. Not a big issue, just a graphic one.

Hope that helps.
Thanks!

Could not pass SpawnEntityEvent - Server error upon startup

Good day,

Thank you for this mod.
I received this server error when I started the server. Not sure what would have caused it.
Not sure if this is helpful. Hopefully!

Let me know if you need any more info.

[Server thread/ERROR] [Sponge]: Could not pass SpawnEntityEvent$ChunkLoad$Impl to Plugin{id=universeguard, name=Universe Guard, version=1.0, description=A World Guard solution for Sponge, authors=[Minehendrix], source=C:\Minecraft_Server\mods\UniverseGuard.jar}
java.util.NoSuchElementException: No value present
        at java.util.Optional.get(Unknown Source) ~[?:1.8.0_144]
        at com.universeguard.utils.RegionUtils.load(RegionUtils.java:199) ~[RegionUtils.class:?]
        at com.universeguard.utils.RegionUtils.getAllRegions(RegionUtils.java:42) ~[RegionUtils.class:?]
        at com.universeguard.utils.RegionUtils.load(RegionUtils.java:73) ~[RegionUtils.class:?]
        at com.universeguard.events.flags.EventSpawnEntity.onEntitySpawn(EventSpawnEntity.java:17) ~[EventSpawnEntity.class:?]
        at org.spongepowered.common.event.listener.SpawnEntityEventListener_EventSpawnEntity_onEntitySpawn109.handle(Unknown Source) ~[?:?]
        at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.11.2-2393-6.1.0-BETA-2484]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:314) [SpongeModEventManager.class:1.11.2-2393-6.1.0-BETA-2484]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:296) [SpongeModEventManager.class:1.11.2-2393-6.1.0-BETA-2484]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:341) [SpongeModEventManager.class:1.11.2-2393-6.1.0-BETA-2484]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:329) [SpongeModEventManager.class:1.11.2-2393-6.1.0-BETA-2484]
        at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:192) [SpongeImpl.class:1.11.2-2393-6.1.0-BETA-2484]
        at net.minecraft.world.WorldServer.handler$spongeLoadEntities$zkf000(WorldServer.java:2584) [lw.class:?]
        at net.minecraft.world.WorldServer.func_175650_b(WorldServer.java) [lw.class:?]
        at net.minecraft.world.chunk.Chunk.func_76631_c(Chunk.java:844) [auo.class:?]
        at net.minecraftforge.common.chunkio.ChunkIOProvider.syncCallback(ChunkIOProvider.java:104) [ChunkIOProvider.class:?]
        at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:94) [ChunkIOExecutor.class:?]
        at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:119) [lv.class:?]
        at net.minecraft.world.gen.ChunkProviderServer.func_186028_c(ChunkProviderServer.java:90) [lv.class:?]
        at net.minecraft.world.gen.ChunkProviderServer.loadChunkForce(ChunkProviderServer.java:1075) [lv.class:?]
        at net.minecraft.world.gen.ChunkProviderServer.redirect$onProvideChunkHead$zkn000(ChunkProviderServer.java:680) [lv.class:?]
        at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:136) [lv.class:?]
        at net.minecraft.server.MinecraftServer.prepareSpawnArea(MinecraftServer.java:3563) [MinecraftServer.class:?]
        at org.spongepowered.common.world.WorldManager.createWorldFromProperties(WorldManager.java:824) [WorldManager.class:1.11.2-2393-6.1.0-BETA-2484]
        at org.spongepowered.common.world.WorldManager.loadAllWorlds(WorldManager.java:770) [WorldManager.class:1.11.2-2393-6.1.0-BETA-2484]
        at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:3511) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:267) [lh.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442) [MinecraftServer.class:?]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_144]

String!

users are able to place infinite numbers of string inside of my spawn! I cannot find a flag associated with this either :/

Wiki commands need updating?

Running subcommands listed in https://github.com/JimiIT92/UniverseGuard/wiki/Commands
fail.

> rg flaghelp
Input command flaghelp was not a valid subcommand!
flaghelp
^
Usage: /rg here|flag|greeting|save|delete|gamemode|remove|reload|create|copy|inf
o|add|flaginfo|set|edit|setteleport|priority|list|setspawn|command|help|expand|s
pawn|at|name|tp|farewell
> rg globallist
Input command globallist was not a valid subcommand!
globallist
^
Usage: /rg here|flag|greeting|save|delete|gamemode|remove|reload|create|copy|inf
o|add|flaginfo|set|edit|setteleport|priority|list|setspawn|command|help|expand|s
pawn|at|name|tp|farewell
>

Duplication when a player fast break a protected block

Environment

  • Sponge Version: <1.12.2-2705>

  • Plugin Version: <2.15>

What happens?

Hello,

I have a problem of duplication with Universe Guard 2. When a player fast break a protected block in protected region, the block don't break but loot so the player can have all blocks on the protected region. Sorry for my English, i'm french :)

Volgar18

Problem opening chests

Im getting the "You dont have permission to do that" message when opening chests. How do i make it so everyone can open chests globally throughout the server?

Use Ore or Github Releases for Downloading

On the Sponge page, MEGA and MediaFire links are used for downloading.

Please consider using Sponge's Ore system, and/or Github's release system for publishing new versions, with the inclusion of proper versioning and changelogs.

[1.12.2] Could not pass MoveEntityEvent

[Server] Server thread/ERROR [Sponge]: Could not pass MoveEntityEvent$Impl to Plugin{id=universeguard, name=Universe Guard 2, version=2.14, description=An easy to use world protection plugin for Sponge, authors=[JimiIT92, Brycey92, eheimer], source=/./mods/plugins/UniverseGuard-2.14-1.12.2.jar}

API VERSION: 7.1.0-SNAPSHOT-43d8496
Sponge VERSION: 1.12.2-2705-7.1.0-BETA-3136

Console error spam

Using plugin on SpongeVanilla 5.2.0 beta 385 on 1.10.2 with version 1.2 of the plugin and seeing the following spammed constantly:

[15:13:36] [Server thread/ERROR] [Sponge]: Could not pass InteractBlockEvent$Secondary$MainHand$Impl to Plugin{id=universeguard, name=Universe Guard, version=1.0, description=A World Guard solution for Sponge, source=mods/Universe Guard 1.2 .jar} java.util.NoSuchElementException: No value present at java.util.Optional.get(Optional.java:135) ~[?:1.8.0_121] at com.universeguard.utils.Utils.isSelector(Utils.java:41) ~[Utils.class:?] at com.universeguard.events.EventRightClick.onRightClickMainHand(EventRightClick.java:25) ~[EventRightClick.class:?] at org.spongepowered.common.event.listener.MainHandListener_EventRightClick_onRightClickMainHand17.handle(Unknown Source) ~[?:?] at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.10.2-5.2.0-BETA-385] at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:305) ~[SpongeEventManager.class:1.10.2-5.2.0-BETA-385] at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:320) ~[SpongeEventManager.class:1.10.2-5.2.0-BETA-385] at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:143) ~[SpongeImpl.class:1.10.2-5.2.0-BETA-385] at org.spongepowered.common.event.SpongeCommonEventFactory.callInteractBlockEventSecondary(SpongeCommonEventFactory.java:459) ~[SpongeCommonEventFactory.class:1.10.2-5.2.0-BETA-385] at org.spongepowered.common.event.SpongeCommonEventFactory.callInteractBlockEventSecondary(SpongeCommonEventFactory.java:449) ~[SpongeCommonEventFactory.class:1.10.2-5.2.0-BETA-385] at net.minecraft.server.management.PlayerInteractionManager.func_187251_a(SourceFile:616) ~[lv.class:?] at net.minecraft.network.NetHandlerPlayServer.redirect$onProcessRightClickBlock$zgp000(SourceFile:2003) ~[me.class:?] at net.minecraft.network.NetHandlerPlayServer.func_184337_a(SourceFile:627) ~[me.class:?] at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.func_148833_a(SourceFile:55) ~[jj.class:?] at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.func_148833_a(SourceFile:11) ~[jj.class:?] at org.spongepowered.common.network.PacketUtil.lambda$onProcessPacket$0(PacketUtil.java:157) ~[PacketUtil.class:1.10.2-5.2.0-BETA-385] at org.spongepowered.common.event.tracking.CauseTracker.switchToPhase(CauseTracker.java:160) [CauseTracker.class:1.10.2-5.2.0-BETA-385] at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:156) [PacketUtil.class:1.10.2-5.2.0-BETA-385] at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zjc000(SourceFile:539) [fl$1.class:?] at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fl$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121] at net.minecraft.util.Util.func_181617_a(SourceFile:45) [h.class:?] at org.spongepowered.common.SpongeImplHooks.onUtilRunTask(SpongeImplHooks.java:239) [SpongeImplHooks.class:1.10.2-5.2.0-BETA-385] at net.minecraft.server.MinecraftServer.redirect$onRun$zhj000(SourceFile:4153) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.func_71190_q(SourceFile:1499) [MinecraftServer.class:?] at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(SourceFile:338) [ld.class:?] at net.minecraft.server.MinecraftServer.func_71217_p(SourceFile:554) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.run(SourceFile:458) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]

Global Flags Bug

Setting global flags sometimes causes the entirely incorrect flag (or multiple flags) to change.

Example:
I see that drown is set to false, I use /region global drown true and then I look again at the flags with /region globallist and instead of drowning being enabled, walldamage was disabled.

If I try again, with the same command, walldamage is enabled and instead enderchests is disabled.

Drowning however, never changes.

CRASH REPORT - 1.11.2 Minecraft Forge - Spongeforge-1.11.2-2393-6.1.0-BETA-2448.jar

Your plugin seems to randomly crash the server. I have been unable to decipher a cause but I do know it is directly related to UniverseGuard in parsing the CrashLog.

Here is the CrashLog: https://pastebin.com/Wb0gwk3U

And here is what I gather to possibly be related to something in here:
https://github.com/JimiIT92/UniverseGuard/blob/master/src/main/java/com/universeguard/region/Region.java

Unfortunatly this is a rather serious issue that I hope can be resolved.

build = false

hi all.
I have set false on build flags in my world but players can destroy and can't build it's normal ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.