From aabc2290765cc4d6cd2f60af5ae2cdf2ca97b36e Mon Sep 17 00:00:00 2001 From: Me4502 Date: Mon, 12 Jun 2017 12:08:09 +1000 Subject: [PATCH] Update WorldEdit-Sponge to 1.12 Also added support for minecraft:stone item types. --- worldedit-sponge/build.gradle | 2 +- .../worldedit/sponge/SpongeBiomeRegistry.java | 2 +- .../sk89q/worldedit/sponge/SpongePlatform.java | 16 ++++++++++------ .../sk89q/worldedit/sponge/SpongePlayer.java | 2 +- .../adapter/impl/Sponge_1_12_Impl$1.class | Bin 0 -> 1735 bytes .../impl/Sponge_1_12_Impl$SpongeNMSWorld.class | Bin 0 -> 9409 bytes .../Sponge_1_12_Impl$TileEntityBaseBlock.class | Bin 0 -> 1483 bytes .../sponge/adapter/impl/Sponge_1_12_Impl.class | Bin 0 -> 15686 bytes 8 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 worldedit-sponge/src/main/resources/com/sk89q/worldedit/sponge/adapter/impl/Sponge_1_12_Impl$1.class create mode 100644 worldedit-sponge/src/main/resources/com/sk89q/worldedit/sponge/adapter/impl/Sponge_1_12_Impl$SpongeNMSWorld.class create mode 100644 worldedit-sponge/src/main/resources/com/sk89q/worldedit/sponge/adapter/impl/Sponge_1_12_Impl$TileEntityBaseBlock.class create mode 100644 worldedit-sponge/src/main/resources/com/sk89q/worldedit/sponge/adapter/impl/Sponge_1_12_Impl.class diff --git a/worldedit-sponge/build.gradle b/worldedit-sponge/build.gradle index 5bae0e26d..1786ce8c6 100644 --- a/worldedit-sponge/build.gradle +++ b/worldedit-sponge/build.gradle @@ -13,7 +13,7 @@ plugins { dependencies { compile project(':worldedit-core') - compile 'org.spongepowered:spongeapi:6.0.0-SNAPSHOT' + compile 'org.spongepowered:spongeapi:7.0.0-SNAPSHOT' testCompile group: 'org.mockito', name: 'mockito-core', version:'1.9.0-rc1' } diff --git a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeBiomeRegistry.java b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeBiomeRegistry.java index 83974cbdc..606937b04 100644 --- a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeBiomeRegistry.java +++ b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeBiomeRegistry.java @@ -42,7 +42,7 @@ class SpongeBiomeRegistry implements BiomeRegistry { @Override public List getBiomes() { - List list = new ArrayList(); + List list = new ArrayList<>(); for (BiomeType biome : Sponge.getGame().getRegistry().getAllOf(BiomeType.class)) { list.add(new BaseBiome(SpongeWorldEdit.inst().getAdapter().resolve(biome))); } diff --git a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlatform.java b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlatform.java index 39c10784b..a0be01208 100644 --- a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlatform.java +++ b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlatform.java @@ -20,6 +20,7 @@ package com.sk89q.worldedit.sponge; import com.sk89q.worldedit.WorldEdit; +import com.sk89q.worldedit.blocks.BlockType; import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.event.platform.CommandEvent; import com.sk89q.worldedit.event.platform.CommandSuggestionEvent; @@ -57,10 +58,13 @@ class SpongePlatform extends AbstractPlatform implements MultiUserPlatform { public int resolveItem(String name) { if (name == null) return 0; - Optional optType = Sponge.getRegistry().getType(ItemType.class, name); - - return optType.map(itemType -> SpongeWorldEdit.inst().getAdapter().resolve(itemType)).orElse(0); - + Optional optBlock = Sponge.getRegistry().getType(org.spongepowered.api.block.BlockType.class, name); + if (optBlock.isPresent()) { + return optBlock.map(blockType -> SpongeWorldEdit.inst().getAdapter().resolve(blockType)).orElse(0); + } else { + Optional optType = Sponge.getRegistry().getType(ItemType.class, name); + return optType.map(itemType -> SpongeWorldEdit.inst().getAdapter().resolve(itemType)).orElse(0); + } } @Override @@ -96,7 +100,7 @@ class SpongePlatform extends AbstractPlatform implements MultiUserPlatform { return player; } else { Optional optPlayer = Sponge.getServer().getPlayer(player.getUniqueId()); - return optPlayer.isPresent() ? new SpongePlayer(this, optPlayer.get()) : null; + return optPlayer.map(player1 -> new SpongePlayer(this, player1)).orElse(null); } } @@ -178,7 +182,7 @@ class SpongePlatform extends AbstractPlatform implements MultiUserPlatform { @Override public Collection getConnectedUsers() { - List users = new ArrayList(); + List users = new ArrayList<>(); for (org.spongepowered.api.entity.living.player.Player player : Sponge.getServer().getOnlinePlayers()) { users.add(new SpongePlayer(this, player)); } diff --git a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java index 0ef45cf47..8cf24040d 100644 --- a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java +++ b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java @@ -61,7 +61,7 @@ public class SpongePlayer extends AbstractPlayerActor { @Override public int getItemInHand() { Optional is = this.player.getItemInHand(HandTypes.MAIN_HAND); - return is.isPresent() ? SpongeWorldEdit.inst().getAdapter().resolve(is.get().getItem()) : 0; + return is.map(itemStack -> SpongeWorldEdit.inst().getAdapter().resolve(itemStack.getItem())).orElse(0); } @Override diff --git a/worldedit-sponge/src/main/resources/com/sk89q/worldedit/sponge/adapter/impl/Sponge_1_12_Impl$1.class b/worldedit-sponge/src/main/resources/com/sk89q/worldedit/sponge/adapter/impl/Sponge_1_12_Impl$1.class new file mode 100644 index 0000000000000000000000000000000000000000..d3e8da1147a2079f78ee669b732c2cc4f0a03adc GIT binary patch literal 1735 zcmbu9ZExFD6vzKJP3t6e+pO(a8Bc|puH|7~x^{FAj5!ZYv&M0;(*-CfxQ^9&bM4?b zn|Ox=9{>qH01`;Ng>6Czp$Q3I@d^n(01|uvBzTQDH+QQm*o$dMiU0ncbM86k9$)*% zzrVQyU>R>QoO8l`wRdgx>^tg>F!DQY$BWfoHw<=N)$Z8c*o{9WSu`!A5E_p1_m5&{MR>Vy)Wd zC1gA;!k?jVvr=vuMp=d;Y|k>tO|4#UA2?13#{$D}v1XRmWjrS=&(jz#Z#AlQ%J`x% zout*4&X?bFoDz-#cdQ#`^T2UhIF=bkMQppcWl{1o!u}F1pcdLX8BN2`WtR#YB z`ujU>)Ud-NMXG{(Jl@%%+Xck=_{K9N}<+ z^MoS_E)q%!zCf5sP$kSCieBP;D13$Uq4-tK*<}5B&bfpyavn`s<18m!<~){gmGgMQ zmpM-)taHvMyvg}U!WQSrgs*U(8t|9&)@Ct{W0=GY<}gos0!vsSJp&D8(h4?Vkv8!* z9MTTD=#j>F5ATzHfDiEz>Bsm4pOSutFK~DwM)7 Zwn@{F==vu8c{?dmWv7mY-!QH2gvxcB^ z4H|1Qq@h%>emPeHpBuSZD;o2SCQb9888?%Ll}OgAuhF>~Q$u+kIaV*yP$4MGtP~8o z?UgD-m!r{`c_3~@t+`$!W%kAr;WHZ63vPB95bS;1`?P4dNlSabrZP=C zGx(NPy8GEG7p|w6I*l_tVaJ~e+WH(8Pb&}1D4#+xXv2soIADC2S&3o8ik{``{#>|P zwWt8M_F@uKIy6KDEo()rtFRi*2r4MXU?NP85^+Ht<#4BC}39QKrPY{{DW)>mOHP@Prp#*sC*h zy_30Ox&P;p_1#%)Y-{h_)1_iyX92*YHhmAiSI1NMKJwvsj9^b5HLc}a6r71ja465( zx#qmA!2}!ZC~=A*CqfSAi;#3&ICI@&B0WWcLwcGDik)tVwrZ+| z59s)y3I^A@HX3Jb95-SNp*XWt+#)XjF!Si};ZWb42GCNe)I+7X9ppa2p?hTYJ+ulOv8^c3ZvXZ)u)0@^!cS3!E`?<{5XE10?*<( zLDlMU4IgC!o-$Iy=6U8Yx-=d3C-GthUckrb!Ew8LV}^Ea_VD84_-QroXUOkW8g0110X(VZ0%V1rU>}6P-QD2

A@8J)Y9Ids>hS(i-!L`>aKmH^9vEuDd zSUWJ0Ns!@0xtLg1F3m`oBdl`2RP+K}xR~|A>e9kR>0F`oto(bqD%`a%*ceWltXFN1 z$R2D3VRt{ZcXU4kud=t}Lz8CQcZxgACQZkmvYV(_u_N=m&xpqpEZLc+eX1}uCSoQ> z_tuV_i(28SA!A0JRBG)DhgzGgioROKjC};plFS~+1w|)#Q27e}p&V8CN1|CG8Ho~i zz4&KUuj%-zpn185^7E?%X4w4;m0Ne*$<+U<6%9LB%J(@@>t%y3>!gw-RKDf8O1WQ<=WnT!o7K=pN7w>|C~%r%U)eEwx3Rh~jw#GqzLg_JuS)Z@+D^H%Txw;PIyS8_(ebEyU3N&r zvQ1i;SswIClS8KYtr*~(F+HP+PZz(6@PZXG!V7?S+^}O@T6Ni@Fs9(J?la29jmP3mE1}D^5?d=V zF>x~ssgl^``?{4FaMO=BYLwWgiUit>J)8E$B9-86#cBRJLl(2$vo2<_*nT^RYmcGJk zgPqG`CeIR0ctA+A6bQ8L@rQWizBNzwv=u=}dPv?;At&VF?8>&T4&IZ|{A)uL6U|96 zcxNh{n%R_BuPtiRhLw8A!*RFDR}nE4nNxy@yHyJLyQ6zmR(CIH9cbmv(FRp;-@exU zjqT@}@TRDQ$0=vwG_SHG&K}!d>fl$9W$1ha8EeqEFlXz1?aTG-G)-96_j7YseP za_}9nf7V7ARo%&~E|&0Y;pt06>~pWGMaGO|R29^t>cLzyNWdMQot`k0>7Gq?$&#H$ zkWCM)8&RhwR^RFGnxnJ4Q=B%(qNylp-IFcaDTAJcF7+{zm`#Sw0sA204aOPLeK8}I zGE>;jIM)x&d#{OeX>d{!$yNLerrg;PxFgTB+ja8%R zj$@gQ@pQ*S>5e4^wmamq4D7=@@UYq#`w+s(w3u7S3}he0+)puku~qu`Z%IGymH~=v zU?R=lC#lyGuI+003^tRaQ}Z}I+;|0qu)Us!=0yyQ*Ldb}Rz2p_aYrKl5 zn&unC9EMr}GAD*@u>#}uJ1TUIxW{YXio%nwIAUyIY*Lyk3>G=WnC{1os zwB!)HGK7tC7=Af|PPw0~{}A4vX8khtOd-*eX8jq(`X&766+Ew)ukl>LPYLg?HmkRn z1XuBMdrO*YO6Kv&mu`H8{C|r4Us}$86Dj^8K4VMLla-{0l6=;dqzCg@;J#k8I+EDj zI?8^4+>TMn$IvPd@;{+*D*L!RMh@4b=-b$&VOYZpZ_*b9mvP0BLQ1)p#yMk)SRALr z1=)_V(eSSfHO%8zui{nO_vA#9hE*d+#vr)&QOM z2DjHV6loaHu&CiF4cCNj`zAJjlNu>fWelB{!7ZnUFyMh zGuuOKCR?2C9NUv@PqRJ8HqZ7&wlA}NmF*3->s+dQYCRiKLD6#BBECNES-`(vT*T|@ zBUyv4d?IAbP#+MHD65vbMcriDe zm%A3^ZihSad*h-glyJ;#L!h)|3@RONj|K&BCqIHo0mvoeDx05}Dm6d7bRW&v1 zbX_YeTVF1ZlNp7Gf6rf${c?|ET|7@bR^Aq9Xk3s3%9me5Q;jF>>y%4HLi4-~upMN( zcR_;la`;(jo|oXsacKu|0vQ<*aAZ`Za(XPp%{UT3rm4^)Xv5m?Dd@7eLrzi?+EXC%KORNqzF;L0v_+F3mhA-?bsVR94 zyB4uwTtO6JNJ0#K38&u(r!rYnvLL5v!#jwxZsQA*Sh8x5!$VeLD;=gKNH{5u0e->` z*kb*;C{`XBl_Q*6%5aWd`?6B@Wu@%NO4*Q=a=Rm? zEn5|(g*->uo~LXdrED+I=@c{+vG1My-N6|})Ib@ZI$?a>{&H;KcO}0W6+mU#cL7G6 Bn;HNB literal 0 HcmV?d00001 diff --git a/worldedit-sponge/src/main/resources/com/sk89q/worldedit/sponge/adapter/impl/Sponge_1_12_Impl$TileEntityBaseBlock.class b/worldedit-sponge/src/main/resources/com/sk89q/worldedit/sponge/adapter/impl/Sponge_1_12_Impl$TileEntityBaseBlock.class new file mode 100644 index 0000000000000000000000000000000000000000..2a5b4e62a67f42cf2c44b97f6a782fbecdac0690 GIT binary patch literal 1483 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 literal 0 HcmV?d00001